MySQL Sleutels (keys)
Home

MySQL Sleutels (keys)

MySQL Sleutels (keys)

Een sleutel in SQL bestaat uit één enkele kolom of uit een combinatie van meerdere kolommen in een tabel. De sleutel wordt gebruikt om rijen in de tabel te indentificeren en dus op te halen volgens een welbepaalde voorwaarde. Sleutels worden ook gebruikt om een relatie te creëren tussen verschillende tabellen of views.

Probleem

Gegevens in een tabel dienen om geraadplaagd te kunnen worden. Daarbij moeten de gegevens voldoen aan twee voorwaarden:

  1. identificeerbaar zijn
  2. niet redundant, geen dubbels

Oplossing

  1. Supersleutel: een supersleutel is een verzameling van één of meerdere sleutels die gebruikt kunnen worden om een rij in een tabel te identificeren, bijvoorbeeld: primaire sleutel, unieke sleutel, alternatieve sleutels zijn deelverzamelingen van supersleutels.
  2. Kandidaat sleutel:
    1. een Kandidaatsleutel (candidate key) is een set van eéén of meerdere kolommen die een rijk in een tabel kunnen identificeren;
    2. er kunnen meerdere kandidaatsleutels in één tabel zijn;
    3. elke Kandidaatsleutel kan dienen als primaire sleutel.
  3. Primaire sleutel:
    1. een verzameling van een of meerdere kolommen van een tabel die op een rij in de databasetabel identificeren;
    2. het kan geen nul-, of dubbele waarden accepteren;
    3. slechts één kandidaatsleutel kan de primaire sleutel zijn;
  4. Alternatieve sleutel (alternate key): een alternatieve sleutel is een sleutel die als primaire sleutel zou kunnen gebruikt worden, eigenlijk is het een kandidaatsleutel die momenteel geen primaire sleutel is.
  5. Samengestelde sleutel (Composite Key): een combinatie van meerdere kolommen van een tabe, dit kan een kandidaatsleutel of primaire sleutel zijn.
  6. Unieke sleutel (Unique Key): een verzameling van een of meerdere kolommen van een tabel die op unieke wijze een rij in de databasetabel identificeren, het is als primaire sleutel, maar het kan slechts één nulwaarde accepteren en het kan geen dubbele waarden hebben.
  7. Vreemde sleutel (Foreign Key): een kolom in de databasetabel dat de primaire sleutel in een andere tabel is. Het kan meerdere null en/of dubbele waarden accepteren.

Inhoud

  1. Primaire sleutels
    1. MySQL Een primaire sleutel maken in een bestaande tabel
    2. MySQL Een primaire sleutel maken in een nieuwe tabel
  2. Vreemde sleutels
    1. MySQL Normaliseren in de praktijk

JI
2018-05-01 20:53:40